home *** CD-ROM | disk | FTP | other *** search
Makefile | 1991-08-22 | 20.0 KB | 659 lines |
- /* This -*- C -*- file (cpp-Makefile) is run through the C preprocessor
- to produce bash-Makefile which is machine specific.
-
- If you have Gcc and/or Bison, you might wish to mention that right
- below here.
-
- Since this is to become a Makefile, blank lines which appear outside
- of comments may not contain a TAB character.
-
- Copyright (C) 1987,1991 Free Software Foundation, Inc.
-
- This file is part of GNU Bash, the Bourne Again SHell.
-
- Bash is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 1, or (at your option) any later
- version.
-
- Bash is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU General Public License along
- with Bash; see the file COPYING. If not, write to the Free Software
- Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
- /**/# This Makefile is automagically made from cpp-Makefile. You should
- /**/# not be editing this file; edit cpp-Makefile, machines.h, or
- /**/# makeargs.sh instead. Then, assuming the edits were required to
- /**/# compile Bash on your system, mail the changes you had to make to
- /**/# bash-maintainers@ai.mit.edu. We will do our best to incorporate
- /**/# them into the next release.
-
- /* **************************************************************** */
- /* */
- /* Which compiler are you using? */
- /* */
- /* **************************************************************** */
-
- /* Define HAVE_GCC if you have the GNU C compiler. */
- /* #define HAVE_GCC */
-
- /* Define HAVE_FIXED_INCLUDES if you are using GCC with the fixed
- header files. */
- #if defined (HAVE_GCC) && !defined (HAVE_FIXED_INCLUDES)
- /* #define HAVE_FIXED_INCLUDES */
- #endif /* HAVE_GCC && !HAVE_FIXED_INCLUDES */
-
- /* Define HAVE_BISON if you have the GNU replacement for Yacc. */
- /**/# We would like you to use Bison instead of Yacc since some
- /**/# versions of Yacc cannot handle reentrant parsing. Unfortunately,
- /**/# this includes the Yacc currently being shipped with SunOS4.x.
- /**/# If you do use Yacc, please make sure that any bugs in parsing
- /**/# are not really manifestations of Yacc bugs before you report
- /**/# them.
- #define HAVE_BISON
-
- /**/# Can be overidden on invocation.
- MAKE = make
-
- /* Where are you installing the shell? */
- #if defined (M_DESTDIR)
- DESTDIR = M_DESTDIR
- #else
- DESTDIR = /usr/gnu/bin
- #endif /* M_DESTDIR */
-
- /* This includes the appropriate description for the machine that you are
- using (we hope). If the compilation doesn't work correctly, then you
- will have to edit the file `machines.h' to include a description for the
- machine that your Cpp uniquely identifies this as. For example, Sun 4's
- are recognized by the Cpp identifier `sparc', Vax is recognized with `vax',
- etc. The order of these files is very important. Config.h must come last,
- since it is capable of undef'ing various things. */
- #define BUILDING_MAKEFILE /* Tell config.h to avoid #including anything. */
- #include "sysdefs.h"
- #include "machines.h"
- #include "config.h"
-
- /**/# Here is a rule for making .o files from .c files that does not
- /**/# force the type of the machine (like -M_MACHINE) into the flags.
- .c.o:
- $(RM) $@
- $(CC) -c $(CFLAGS) $(CPPFLAGS) $*.c
-
- #if defined (HAVE_BISON)
- BISON = bison -y
- #else
- BISON = yacc
- #endif
-
- #if defined (HAVE_GCC)
- #if !defined (HAVE_FIXED_INCLUDES)
- /* This is guaranteed to work, even if you have the fixed includes!
- (Unless, of course, you have the fixed include files installed in
- /usr/include. Then it will break. ) */
- CC = gcc -traditional -I/usr/include
- #else
- CC = gcc
- #endif /* !HAVE_FIXED_INCLUDES */
- #else
- CC = CPP_CC
- #endif /* HAVE_GCC */
-
- /**/# Of course, you cannot do this the first time through...
- /**/#SHELL=/usr/gnu/bin/bash
- SHELL=/bin/sh
-
- MACHINE = M_MACHINE
- OS = M_OS
-
- /**/# PROFILE_FLAGS is either -pg, to generate profiling info for use
- /**/# with gprof, or nothing (the default).
- PROFILE_FLAGS=
-
- #if defined (HAVE_SHARED_LIBS) && defined (sun)
- # if !defined (HAVE_GCC)
- /**/# On Sun systems, we compile without shared libraries so we
- /**/# can debug the shell with gdb.
- NOSHARE = -Bstatic
- # endif
- #endif
-
- #if defined (SYSDEP_CFLAGS)
- /**/# This system has some peculiar flags that must be passed to the
- /**/# the C compiler (or to cpp).
- SYSDEP = SYSDEP_CFLAGS
- #endif /* SYSDEP_CFLAGS */
-
- #if defined (SYSDEP_LDFLAGS)
- /**/# This system has some peculiar flags that must be passed to the
- /**/# the loader.
- SYSDEP_LD = SYSDEP_LDFLAGS
- #endif /* SYSDEP_LDFLAGS */
-
- #if defined (HAVE_SETLINEBUF)
- /**/# This system has the setlinebuf () call.
- LINEBUF = -DHAVE_SETLINEBUF
- #endif
-
- #if defined (HAVE_VPRINTF)
- /**/# This system has the vprintf () and vfprintf calls.
- VPRINTF = -DHAVE_VPRINTF
- #endif /* HAVE_VPRINTF */
-
- #if defined (HAVE_UNISTD_H)
- /**/# This system has <unistd.h>.
- UNISTD = -DHAVE_UNISTD_H
- #endif
-
- #if defined (HAVE_MULTIPLE_GROUPS)
- /**/# This system has multiple groups.
- GROUPS = -DHAVE_MULTIPLE_GROUPS
- #endif
-
- #if defined (HAVE_RESOURCE)
- /**/# This system has <sys/resource.h>
- RESOURCE = -DHAVE_RESOURCE
- #endif
-
- #if defined (VOID_SIGHANDLER)
- /**/# This system's signal () call returns a pointer to a function returning
- /**/# void. The signal handlers themselves are thus void functions.
- SIGHANDLER = -DVOID_SIGHANDLER
- #endif
-
- #if defined (HAVE_STRERROR)
- /**/# This system has the strerror () function.
- STRERROR = -DHAVE_STRERROR
- #endif
-
- #if defined (HAVE_WAIT_H)
- /**/# This system has <sys/wait.h>
- WAITH = -DHAVE_WAIT_H
- #endif
-
- #if defined (HAVE_GETWD)
- /**/# This system has the getwd () call.
- GETWD = -DHAVE_GETWD
- #endif
-
- #if defined (HAVE_DUP2)
- /**/# This system has a working version of dup2 ().
- DUP2 = -DHAVE_DUP2
- #endif /* HAVE_DUP2 */
-
- SYSTEM_FLAGS = $(LINEBUF) $(VPRINTF) $(UNISTD) $(GROUPS) $(RESOURCE) \
- $(SIGHANDLER) $(SYSDEP) $(WAITH) $(GETWD) $(DUP2) -D$(MACHINE) -D$(OS)
- DEBUG_FLAGS = $(PROFILE_FLAGS) -g
- LDFLAGS = $(SYSDEP_LD) $(DEBUG_FLAGS)
- CFLAGS = $(DEBUG_FLAGS) $(SYSTEM_FLAGS) -DSHELL $(ALLOCA_CFLAGS)
- CPPFLAGS= -I$(LIBSRC)
-
- /**/# These are required for sending bug reports.
- SYSTEM_NAME = $(MACHINE)
- OS_NAME = $(OS)
-
- /**/# The name of this program.
- PROGRAM = bash
-
- /**/# The type of machine Bash is being compiled on.
- HOSTTYPE_DECL = -DHOSTTYPE='$(SYSTEM_NAME)'
-
- /**/# The default primary and secondary prompts.
- PPROMPT = '"${PROGRAM}\\$$ "'
- SPROMPT = '"> "'
-
- #if defined (MAINTAINER)
- bash_maintainer = MAINTAINER
- MAINTAIN_DEFINE = -DMAINTAINER='"$(bash_maintainer)"'
- #endif
-
- /**/# The group of configuration flags. These are for shell.c
- CFG_FLAGS = -DPPROMPT=$(PPROMPT) -DSPROMPT=$(SPROMPT) -DOS_NAME='"$(OS_NAME)"'\
- -DSYSTEM_NAME='$(SYSTEM_NAME)' $(SIGLIST_FLAG) $(MAINTAIN_DEFINE)
-
- /**/# The directory which contains the source for malloc. The name must
- /**/# end in a slash, as in "./alloc-files/".
- ALLOC_DIR = ./alloc-files/
-
- /**/# Our malloc.
- #if defined (USE_GNU_MALLOC)
- MALLOC = $(ALLOC_DIR)malloc.o
- MALLOC_FLAGS = -Drcheck -Dbotch=programming_error
- #endif /* USE_GNU_MALLOC */
-
- #if !defined (HAVE_ALLOCA)
- ALLOCA = $(ALLOC_DIR)alloca.o
-
- #if defined (ALLOCA_ASM)
- ALLOCA_SOURCE = $(ALLOC_DIR)ALLOCA_ASM
- #else
- ALLOCA_SOURCE = $(ALLOC_DIR)alloca.c
- #endif /* ALLOCA_ASM */
-
- #endif /* !HAVE_ALLOCA */
-
- /* Compilation flags to use in the shell directory and to pass to builds
- in subdirectories (readline, termcap) to ensure that alloca is treated
- in a consistent fashion. */
- #if defined (HAVE_ALLOCA_H)
- ALLOCA_H_DEFINE = -DHAVE_ALLOCA_H
- #else
- ALLOCA_H_DEFINE =
- #endif /* HAVE_ALLOCA_H */
-
- #if defined (HAVE_ALLOCA)
- ALLOCA_DEFINE = -DHAVE_ALLOCA
- #else
- ALLOCA_DEFINE =
- #endif /* HAVE_ALLOCA */
-
- ALLOCA_CFLAGS = $(ALLOCA_DEFINE) $(ALLOCA_H_DEFINE)
-
- ALLOC_HEADERS = $(ALLOC_DIR)getpagesize.h
- ALLOC_FILES = $(ALLOC_DIR)malloc.c $(ALLOC_DIR)alloca.c \
- $(ALLOC_DIR)i386-alloca.s $(ALLOC_DIR)x386-alloca.s
-
- #if !defined (HAVE_SIGLIST)
- /**/# If your system does not have sys_siglist, then define SIGLIST
- /**/# as siglist.o
- SIGLIST = siglist.o
- SIGLIST_FLAG=-DINITIALIZE_SIGLIST
- #endif /* HAVE_SIGLIST */
-
- RM = rm -f
- AR = ar
-
- /**/# The location of ranlib on your system.
- #if defined (RANLIB_LOCATION)
- RANLIB = RANLIB_LOCATION
- #else
- RANLIB = ranlib
- #endif /* RANLIB_LOCATION */
-
- /**/# Support libraries required. Termcap and Readline.
- /**/# The location of sources for the support libraries.
- LIBSRC = ./
- RLIBSRC = $(LIBSRC)readline/
-
- RLIBDOC = $(RLIBSRC)doc/
-
- /**/# Source, object and docuemntation of the history library.
- HISTORY_SOURCE = $(RLIBSRC)history.c $(RLIBSRC)history.h
- HISTORY_OBJ = $(RLIBSRC)history.o
- HISTORY_DOC = $(RLIBDOC)hist.texinfo $(RLIBDOC)hsuser.texinfo \
- $(RLIBDOC)hstech.texinfo
-
- /**/# The source, object and documentation for the GNU Readline library.
- READLINE_SOURCE = $(RLIBSRC)readline.c $(RLIBSRC)readline.h\
- $(RLIBSRC)chardefs.h $(RLIBSRC)keymaps.h\
- $(RLIBSRC)funmap.c $(RLIBSRC)emacs_keymap.c\
- $(RLIBSRC)vi_keymap.c $(RLIBSRC)keymaps.c\
- $(RLIBSRC)vi_mode.c $(HISTORY_SOURCE)
-
- READLINE_OBJ = $(RLIBSRC)readline.o $(RLIBSRC)funmap.o \
- $(RLIBSRC)keymaps.o $(HISTORY_OBJ)
-
- READLINE_DOC = $(RLIBDOC)rlman.texinfo $(RLIBDOC)rluser.texinfo \
- $(RLIBDOC)rltech.texinfo
-
- READLINE_DOC_SUPPORT = $(RLIBDOC)Makefile $(RLIBDOC)texinfo.tex \
- $(RLIBDOC)readline.dvi $(RLIBDOC)readline.info \
- $(RLIBDOC)history.dvi $(RLIBDOC)history.info
-
- /**/# This has to be written funny to avoid looking like a C comment starter.
- READLINE_EXAMPLES = $(RLIBSRC)examples/[a-zA-Z]*.c $(RLIBSRC)examples/Makefile
-
- /**/# Support files for GNU Readline.
- READLINE_SUPPORT = $(RLIBSRC)Makefile $(RLIBSRC)ChangeLog $(RLIBSRC)COPYING \
- $(READLINE_EXAMPLES) $(READLINE_DOC_SUPPORT)
-
- #if defined (HAVE_READLINE_SOURCE)
- #define READLINE_LIBRARY ./readline/libreadline.a
- #else
- #define READLINE_LIBRARY -lreadline
- #endif
-
- #if defined (USE_GNU_TERMCAP)
- #define HAVE_TERMCAP_SOURCE
- /**/# The source, object and documentation for the GNU Termcap library.
- TLIBSRC = $(LIBSRC)termcap/
- TLIBDOC = $(TLIBSRC)termcap.texinfo
- #define TERMCAP_LIBRARY ./termcap/libtermcap.a
-
- TERMCAP_SOURCE = $(TLIBSRC)termcap.c $(TLIBSRC)tparam.c
- TERMCAP_OBJ = $(TLIBSRC)libtermcap.a
- TERMCAP_DOC = $(TLIBSRC)termcap.texinfo
- TERMCAP_SUPPORT = $(TLIBSRC)Makefile $(TLIBSRC)ChangeLog
- TERMCAP_LDFLAGS = -L$(TLIBSRC)
- #endif /* USE_GNU_TERMCAP */
-
- LIBRARY_SOURCE = $(READLINE_SOURCE) $(TERMCAP_SOURCE)
- LIBRARY_DOC = $(READLINE_DOC) $(HISTORY_DOC) $(TERMCAP_DOC)
- LIBRARY_SUPPORT = $(READLINE_SUPPORT) $(TERMCAP_SUPPORT)
- LIBRARY_TAR = $(LIBRARY_SOURCE) $(LIBRARY_DOC) $(LIBRARY_SUPPORT)
-
- #if defined (READLINE)
- /**/# You wish to compile with the line editing features installed.
- READLINE_LIB = -lreadline
-
- /* You only need termcap for readline. */
- #if defined (USE_TERMCAP_EMULATION)
- TERMCAP_LIB = -lcurses
- #else
- TERMCAP_LIB = -ltermcap
- #endif /* USE_TERMCAP_EMULATION */
-
- /**/# Directory list for -L so that the loader can find -lreadline.
- #if defined (HAVE_READLINE_SOURCE)
- READLINE_LDFLAGS = -L$(RLIBSRC) $(TERMCAP_LDFLAGS)
- #else
- READLINE_LDFLAGS = -L/usr/gnu/lib -L/usr/local/lib $(TERMCAP_LDFLAGS)
- #endif /* HAVE_READLINE_SOURCE */
-
- /**/# The source and object of the bash->readline interface code.
- RL_SUPPORT_SRC = bashline.c
- RL_SUPPORT_OBJ = bashline.o
- #endif /* READLINE */
-
- #if defined (REQUIRED_LIBRARIES)
- /**/# Locally required libraries.
- LOCAL_LIBS = REQUIRED_LIBRARIES
- #endif /* REQUIRED_LIBRARIES */
-
- /**/# The order is important. Most dependent first.
- LIBRARIES = $(READLINE_LIB) $(TERMCAP_LIB) $(LOCAL_LIBS)
-
- #if defined (HAVE_TERMCAP_SOURCE)
- TERMCAP_DEP = TERMCAP_LIBRARY
- #endif
-
- #if defined (HAVE_READLINE_SOURCE)
- READLINE_DEP = READLINE_LIBRARY
- #endif
-
- /**/# Source files for libraries that Bash depends on.
- LIBDEP = $(READLINE_DEP) $(TERMCAP_DEP)
-
- /**/# Rules for cleaning the readline and termcap sources.
- #if defined (HAVE_READLINE_SOURCE)
- #define CLEAN_READLINE (cd $(RLIBSRC); $(MAKE) clean)
- #else
- #define CLEAN_READLINE :
- #endif
- #if defined (HAVE_TERMCAP_SOURCE)
- #define CLEAN_TERMCAP (cd $(TLIBSRC); $(MAKE) clean)
- #else
- #define CLEAN_TERMCAP :
- #endif
-
- CSOURCES = shell.c parse.y general.c make_cmd.c print_cmd.c y.tab.c \
- dispose_cmd.c execute_cmd.c variables.c builtins.c\
- fc.c expr.c copy_cmd.c flags.c subst.c glob.c hash.c mailcheck.c\
- test.c trap.c jobs.c nojobs.c $(ALLOC_FILES) braces.c\
- unwind_prot.c siglist.c ulimit.c version.c $(RL_SUPPORT_SRC)
-
- HSOURCES = shell.h flags.h trap.h hash.h jobs.h builtins.h alias.c y.tab.h \
- alias.h general.h variables.h config.h $(ALLOC_HEADERS) \
- quit.h ndir.h machines.h posixstat.h
-
- SOURCES = $(CSOURCES) $(HSOURCES)
-
- OBJECTS = shell.o y.tab.o general.o make_cmd.o print_cmd.o\
- dispose_cmd.o execute_cmd.o variables.o builtins.o copy_cmd.o\
- fc.o expr.o flags.o jobs.o subst.o glob.o hash.o mailcheck.o test.o\
- trap.o alias.o $(MALLOC) $(ALLOCA) braces.o unwind_prot.o\
- $(SIGLIST) ulimit.o version.o $(RL_SUPPORT_OBJ)
-
- /**/# Documentation for the shell.
- DOCDIR = ./documentation/
- BASH_TEXINFO = $(DOCDIR)*.texi $(DOCDIR)*.tex \
- $(DOCDIR)*.dvi $(DOCDIR)Makefile # $(DOCDIR)*.texinfo
- BASH_MAN = $(DOCDIR)bash.1
- BASHDOCS = $(BASH_TEXINFO) $(BASH_MAN) INSTALL README
- DOCUMENTATION = $(BASHDOCS) $(LIBRARY_DOC)
-
- /**/# Some example files
- /* This has to be written funny to avoid looking like a comment starter. */
- EXAMPLES = examples/[a-zA-Z]*
-
- ENDIAN_SUPPORT = endian.c
- PIPESIZE_SUPPORT = psize.c psize.sh
- SCRIPTS_SUPPORT = makeargs.sh cppmagic.sh cat-s make-tarfile mail-shell inform
-
- CREATED_SUPPORT = endian.aux endian.h pipesize.h psize.aux sysdefs.h
-
- SUPPORT = $(ENDIAN_SUPPORT) $(PIPESIZE_SUPPORT) $(SCRIPTS_SUPPORT) \
- COPYING Makefile cpp-Makefile ChangeLog .distribution \
- $(EXAMPLES) newversion.c
-
- /**/# BAGGAGE consists of things that you want to keep with the shell for some
- /**/# reason, but do not actually use; old source code, etc.
- BAGGAGE = longest_sig.c
-
- /**/# Things that the world at large needs.
- THINGS_TO_TAR = $(SOURCES) $(LIBRARY_TAR) $(BASHDOCS) $(SUPPORT) $(BAGGAGE)
-
- /**/# Things that maintainers need, but no one else.
- MAINTAINENCE = shell-mail bash-distribution-list
-
- all: .made
-
- .made: $(PROGRAM)
- cp .machine .made
-
- $(PROGRAM): .build $(OBJECTS) $(LIBDEP) .distribution
- rm -f $@
- $(CC) $(LDFLAGS) $(READLINE_LDFLAGS) -o $(PROGRAM) $(OBJECTS) $(LIBRARIES)
-
- .build: $(SOURCES) cpp-Makefile newversion.aux
- if ./newversion.aux -build; then mv -f newversion.h version.h; fi
- @echo
- @echo " ***************************************************"
- @echo " * *"
- @echo " * Making Bash for a $(MACHINE) running $(OS)."
- @echo " * *"
- @echo " ***************************************************"
- @echo
- @echo "$(PROGRAM) last made for a $(MACHINE) running $(OS)" >.machine
-
- version.h: newversion.aux
- if ./newversion.aux -build; then mv -f newversion.h version.h; fi
-
- shell.h: general.h variables.h config.h quit.h
- touch shell.h
-
- jobs.h: endian.h quit.h
- touch jobs.h
-
- variables.h: hash.h
- touch variables.h
-
- /* If we are compiling with ALIAS defined, then this dependency makes sense. */
- #if defined (ALIAS)
- builtins.h: alias.h
- touch builtins.h
- #endif /* ALIAS */
-
- y.tab.c: parse.y shell.h
- -if test -f y.tab.h; then mv -f y.tab.h old-y.tab.h; fi
- $(BISON) -d parse.y
- -if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; fi
-
- #if defined (HAVE_READLINE_SOURCE)
- READLINE_LIBRARY: $(READLINE_SOURCE)
- (cd $(RLIBSRC); $(MAKE) $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' RANLIB=$(RANLIB))
- #endif /* HAVE_READLINE_SOURCE */
-
- #if defined (HAVE_TERMCAP_SOURCE)
- TERMCAP_LIBRARY: $(TERMCAP_SOURCE)
- (cd $(TLIBSRC); $(MAKE) $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS) -I.' RANLIB=$(RANLIB))
- #endif /* USE_GNU_TERMCAP */
-
- version.o: version.h
-
- shell.o: shell.h flags.h shell.c posixstat.h
- $(CC) $(CFG_FLAGS) $(CFLAGS) $(CPPFLAGS) -c shell.c
-
- ulimit.o: shell.h ulimit.c pipesize.h
- $(CC) $(CFLAGS) -c ulimit.c
-
- pipesize.h: psize.aux
- sh psize.sh > pipesize.h
-
- psize.aux: psize.c
- $(CC) $(CFLAGS) -o $@ psize.c
-
- endian.h: endian.aux
- ./endian.aux endian.h
-
- endian.aux: endian.c
- $(CC) $(CFLAGS) -o $@ endian.c
-
- #if defined (USE_GNU_MALLOC)
- #if !defined (__GNUC__)
- $(MALLOC): $(ALLOC_FILES)
- $(CC) -I$(ALLOC_DIR) $(CFLAGS) $(MALLOC_FLAGS) -c $*.c
- @-mv `basename $*`.o $(MALLOC) 2>/dev/null
- #else
- $(MALLOC): $(ALLOC_FILES)
- $(CC) -I$(ALLOC_DIR) $(CFLAGS) $(MALLOC_FLAGS) -c $*.c
- #endif
- #endif /* USE_GNU_MALLOC */
-
- #if !defined (HAVE_ALLOCA)
- $(ALLOCA): $(ALLOCA_SOURCE)
- $(CC) -I$(ALLOC_DIR) $(CFLAGS) -c $(ALLOCA_SOURCE)
- @-mv `basename $*`.o $(ALLOCA) >/dev/null 2>&1
- #endif /* !HAVE_ALLOCA */
-
- variables.o: shell.h hash.h flags.h
- $(CC) -c $(CFLAGS) $(HOSTTYPE_DECL) variables.c
-
- /* Dependencies for the main bash source. */
- braces.o: general.h
- builtins.o: shell.h hash.h jobs.h builtins.h trap.h flags.h
- copy_cmd.o: shell.h hash.h
- dispose_cmd.o: shell.h
- execute_cmd.o: shell.h y.tab.h posixstat.h builtins.h flags.h jobs.h
- expr.o: shell.h hash.h
- fc.o: shell.h hash.h builtins.h
- flags.o: flags.h config.h general.h quit.h
- general.o: shell.h
- glob.o: config.h
- hash.o: shell.h hash.h
- jobs.o: shell.h hash.h trap.h jobs.h
- mailcheck.o: posixstat.h variables.h hash.h quit.h
- make_cmd.o: shell.h flags.h
- parse.o: shell.h flags.h
- print_cmd.o: shell.h y.tab.h
- shell.o: shell.h flags.h
- subst.o: shell.h flags.h alias.h jobs.h
- test.o: posixstat.h
- trap.o: trap.h shell.h hash.h
- ulimit.o: variables.h quit.h pipesize.h
- unwind_prot.o: config.h general.h
-
- #if defined (READLINE)
- bashline.o: shell.h hash.h builtins.h
- #endif
-
- /* Dependencies which rely on the user using the source to READLINE. */
- #if defined (HAVE_READLINE_SOURCE)
- bashline.o: $(RLIBSRC)chardefs.h $(RLIBSRC)history.h $(RLIBSRC)readline.h
- bashline.o: $(RLIBSRC)keymaps.h $(RLIBSRC)history.h
- fc.o: $(RLIBSRC)history.h
- parse.o: $(RLIBSRC)keymaps.h $(RLIBSRC)chardefs.h $(RLIBSRC)history.h
- parse.o: $(RLIBSRC)readline.h
- subst.o: $(RLIBSRC)history.h
- #endif /* HAVE_READLINE_SOURCE */
-
- $(PROGRAM).tar: $(THINGS_TO_TAR) .distribution
- ./make-tarfile $(PROGRAM) `cat .distribution` $(THINGS_TO_TAR)
-
- $(PROGRAM).tar.Z: $(PROGRAM).tar
- compress -f $(PROGRAM).tar
-
- clone:
- mkdir clone; \
- (cd clone; for i in $(THINGS_TO_TAR); \
- do file=`basename $$i`; \
- dir=`echo $$i | sed "s/$$file\$$//" | sed 's@\(.*\)/\$$@\1@'`; \
- if [ "$$dir" = "" ]; then dir="."; fi; \
- if [ "$$dir" != "." ]; then \
- if [ ! -d "$$dir" ]; then mkdir "$$dir"; fi; \
- if [ "$$file" = Makefile ]; \
- then cp ../$$i $$i; \
- else ln -s ../../$$i $$i; \
- fi; \
- else if [ "$$file" = Makefile ]; then cp ../$$i $$i; \
- else ln -s ../$$i $$i; fi; \
- fi; \
- done)
-
- install: .made
- if [ -f $(DESTDIR)/$(PROGRAM) ]; \
- then mv $(DESTDIR)/$(PROGRAM) $(DESTDIR)/$(PROGRAM).old; \
- fi
- cp $(PROGRAM) $(DESTDIR)/$(PROGRAM)
- rm -f installed-$(PROGRAM)
- ln -s $(DESTDIR)/$(PROGRAM) installed-$(PROGRAM)
-
- mailable: distribution
- /bin/rm -rf uuencoded
- mkdir uuencoded
- $(SHELL) -c 'f=$(PROGRAM)-`cat .distribution`.tar.Z;uuencode $$f $$f | split -800 - uuencoded/$$f.uu.'
-
- .distribution:
- ./newversion.aux -dist `$(PROGRAM) -c 'echo $$BASH_VERSION'`
-
- distribution: $(PROGRAM) $(PROGRAM).tar.Z .distribution
- @echo cp $(PROGRAM).tar.Z $(PROGRAM)-`cat .distribution`.tar.Z
- @cp $(PROGRAM).tar.Z $(PROGRAM)-`cat .distribution`.tar.Z
-
- newversion.aux: newversion.c
- $(CC) $(DEBUG_FLAGS) -o newversion.aux newversion.c -lm
-
- newversion: newversion.aux
- rm -f .build
- ./newversion.aux -dist
- mv -f newversion.h version.h
- $(MAKE) $(MFLAGS)
-
- documentation: documentation-frob
- (cd $(DOCDIR); make)
-
- documentation-frob:
-
- tags: $(SOURCES) $(LIBRARY_SOURCE)
- etags $(SOURCES) $(LIBRARY_SOURCE)
-
- INDEX: $(SOURCES) $(LIBRARY_SOURCE)
- ctags -x $(SOURCES) $(LIBRARY_SOURCE)
-
- clean:
- $(RM) $(OBJECTS) $(PROGRAM) *.aux
- $(RM) .build .made version.h
- $(RM) $(CREATED_SUPPORT)
- $(RM) bash-Makefile
- (cd $(DOCDIR); make clean)
- CLEAN_READLINE;CLEAN_TERMCAP
-
- /**/# Here is a convenient rule when you arrive at a new site and wish to
- /**/# install bash on several different architectures. It creates a new
- /**/# directory to hold the results of compilatation. The directory is
- /**/# named MACHINE-OS.
- architecture: $(MACHINE)-$(OS)/$(PROGRAM)
-
- $(MACHINE)-$(OS):
- mkdir $(MACHINE)-$(OS)
-
- $(MACHINE)-$(OS)/$(PROGRAM): $(MACHINE)-$(OS) $(PROGRAM)
- mv $(PROGRAM) $(MACHINE)-$(OS)
- mv sysdefs.h $(MACHINE)-$(OS)
- make clean
-